home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Games 1996 July
/
Amiga Games 1996 #7.iso
/
userbox
/
publicdomain
/
amigabase
/
arexx
/
rx·run
< prev
next >
Wrap
Text File
|
1995-02-03
|
5KB
|
104 lines
/*==============================================================*/
/* rx·Run */
/* $VER: V 02.00 (03.02.94) AUTHOR: Falk Hildner */
/*==============================================================*/
/* Startet AmigaBase und */
/* - nach Eingabe eines Brechtigungscodes */
/* · den Filerequester für das Projektverzeichnis */
/* · ein Projekt */
/* · ein Projekt mit ARexx-Funktion */
/* - oder ohne Eingabe eines Brechtigungscodes */
/* · ein Projekt */
/* · ein Projekt mit ARexx-Funktion */
/*--------------------------------------------------------------*/
/* Aufruf: */
/* ------- */
/* RX [Pfad/]rx·Run [code [projekt [funktion [argument]]]] */
/* */
/* code - '0' ohne Codeabfrage */
/* - '1' mit Codeabfrage */
/* projekt - Projekt ohne Pfad, ausführlicher Pfad zum */
/* Projekt oder nichts (wenn code = 1 wird */
/* Requester aufgerufen) */
/* funktion - aufzurufende ARexx-Funktion des Projektes */
/* oder nichts (nicht über Requester möglich) */
/* argument - Argument zur ARexx-Funktion oder nichts */
/* */
/* Ohne alle Parameter wird nur AmigaBase gestartet. */
/* Der Requester ist auf Pattern 'ab·~(#?.BAK)' eingestellt, */
/* d. h. alle Projekte müssen mit 'ab·' beginnen, sonst wird */
/* nichts angezeigt. */
/*--------------------------------------------------------------*/
/* Rückgabe an ARexx-Funktion des Projektes */
/* ---------------------------------------- */
/* name - Name des Zugriffsberechtigten */
/* sign - Signum des Zugriffsberechtigten */
/*--------------------------------------------------------------*/
/* ENV-Variablen: */
/* -------------- */
/* ENV:ABprogram ausführlicher Pfad zu AmigaBase */
/* ENV:ABprojekt ausführlicher Pfad auf Verzeichnis mit den */
/* AmigaBase-Projekten */
/* ENV:ABcode ausführlicher Pfad zum Berechtigungscode-File*/
/*==============================================================*/
OPTIONS RESULTS
PARSE ARG code projekt funktion argument
SELECT
WHEN INDEX(SHOW("PORTS"),"REXX_AB1") == 0 THEN
DO
CALL OPEN(abprogramm,"env:ABprogram",READ)
ADDRESS COMMAND "RUN >NIL: " READLN(abprogramm)
ADDRESS COMMAND "WaitForPort REXX_AB1"
ADDRESS "REXX_AB1"
END
OTHERWISE
DO
ADDRESS "REXX_AB1"
New
END
END
IF ~(code == 0 | code == 1) | (code == 0 & projekt == "") THEN EXIT
CALL ADDLIB("rexxreqtools.library", 0, -30, 0)
IF code == 1 THEN
DO
in = rtgetstring( , , "Berechtigungscode eingeben ...", "Ok", , )
IF in == "" THEN EXIT
CALL OPEN(abcode,"env:ABcode",READ)
CALL OPEN(test,READLN(abcode),READ)
DO WHILE (in ~== readln(test))
dummy = READLN(test)
dummy = READLN(test)
IF EOF(test) THEN EXIT
END
name = READLN(test)
name = SUBWORD(name,1,3)
IF WORDS(name) == 1 THEN name = name || " *"
IF WORDS(name) == 2 THEN name = name || " *"
signum = READLN(test)
END
CALL OPEN(abprojekt,"env:ABproject",READ)
SELECT
/* Abfage '... | INDEX(in,"*") > 0 ...' nur Falk !!! */
WHEN (code == 1 & projekt == "") | INDEX(in,"*") > 0 THEN
DO
dateiname = RTFILEREQUEST( READLN(abprojekt), , "Starte Projekt ...", ,"rtfi_flags=freqf_selectdirs rtfi_matchpat=(ab·~(#?.BAK))", )
IF dateiname == "" THEN
DO
erg = rtezrequest( "AmigaBase beenden ?","Ja|Nein",,,)
IF erg == 1 then Quit Force
EXIT
END
projekt = dateiname
END
WHEN INDEX(projekt,"/")=0 | INDEX(projekt,":")=0 THEN projekt = READLN(abprojekt) || projekt
OTHERWISE NOP
END
Load projekt
Project projekt
SELECT
WHEN code = 1 & funktion ~= "" THEN Function funktion name signum
WHEN funktion ~= "" THEN Function funktion argument
OTHERWISE NOP
END